:root {
  --el-color-primary-rgb: 64, 158, 255;
}

html, body {
  margin: 0;
  padding: 0;
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;
}

// 暗黑模式
html.dark {
  --el-bg-color: #1e1e1e;
  --el-bg-color-overlay: #252525;
  --el-bg-color-page: #121212;
  --el-text-color-primary: #e0e0e0;
  --el-text-color-regular: #cfd3dc;
  --el-text-color-secondary: #a3a6ad;
  --el-border-color: #3e3e3e;
  --el-border-color-light: #494949;
}

// 滚动条样式
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--el-bg-color-page);
}

::-webkit-scrollbar-thumb {
  background: var(--el-border-color);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--el-border-color-light);
}

// 自定义VueFlow节点样式
.vue-flow__node {
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s;

  &:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  }
}

.vue-flow__handle {
  background-color: var(--el-color-primary);
  width: 8px;
  height: 8px;
}

// Logo占位
.logo img {
  background-color: var(--el-color-primary);
  border-radius: 4px;
}

// 确保伪元素覆盖整个视口
::view-transition-group(root) {
  isolation: isolate;
}

::view-transition-image-pair(root) {
  isolation: isolate;
}

// 重新加入不透明和隔离设置
::view-transition-new(root),
::view-transition-old(root) {
  mix-blend-mode: normal;
  opacity: 1; /* 强制不透明 */
  isolation: isolate; /* 加强隔离 */
  animation: none; /* 确保没有 CSS 动画 */
}

// 确保html和body背景在动画期间正确
html,
body {
  height: 100%;
  overflow: hidden; /* 防止动画期间出现滚动条 */
}

/* 移除菜单覆盖规则 */

/* 强制覆盖 Element Plus 菜单活动项的颜色和下边框颜色，使其跟随主题色 */
.el-menu--horizontal > .el-menu-item.is-active {
  color: var(--el-color-primary) !important; /* 覆盖文本颜色, 直接使用 primary 色 */
  border-bottom-color: var(--el-color-primary) !important; /* 覆盖边框颜色 */
}